C# ile Rastgele Sayı Üretip Tahmin Etme Oyunu
Bu örneğimizde 2 kullanıcı karşılıklı bir şekilde oynayacaklar ve her birinin puanı yarı hesaplanacak. Oyunu Bitir tuşuna basınca kimin puanı yüksekse o kullanıcıya "TEBRİKLER, KAZANDINIZ" mesajı verilecek, kullanıcılar bilgisayarın rastgele ürettiği sayıları tahmin edip puan alacaklar.
Başla Oyuncu #1 düğmesine tıklayınca hemen altındaki listbox nesnesine "OYUN BAŞLADI, sayı üretildi, tahmininiz" yazıyoruz. Kullanıcı tahminini metin kutusuna girip, "Giriş" düğmesine tıklıyor. Eğer üretilen sayı bilindiyse TEBRİKLER, KAZANDINIZ mesajı veriyoruz, tahmin olarak girilen sayı üretilen sayıdan küçükse "Daha büyük bir sayı giriniz", tersiyse "Daha küçük bir sayı giriniz" mesajı veriyoruz.
Programda her oyuncu 6 defa tahmin yapabilir, eğer 6 defada bilemezse, bilgisayarın ürettiği sayı ekrana yazılır ve Üzgünüm, kaybettiniz, Üretilen sayı :20 gibi bir mesaj verilir.
Programın tüm kodları aşağıdaki gibidir.
Başla Oyuncu #1 düğmesine tıklayınca hemen altındaki listbox nesnesine "OYUN BAŞLADI, sayı üretildi, tahmininiz" yazıyoruz. Kullanıcı tahminini metin kutusuna girip, "Giriş" düğmesine tıklıyor. Eğer üretilen sayı bilindiyse TEBRİKLER, KAZANDINIZ mesajı veriyoruz, tahmin olarak girilen sayı üretilen sayıdan küçükse "Daha büyük bir sayı giriniz", tersiyse "Daha küçük bir sayı giriniz" mesajı veriyoruz.
Programda her oyuncu 6 defa tahmin yapabilir, eğer 6 defada bilemezse, bilgisayarın ürettiği sayı ekrana yazılır ve Üzgünüm, kaybettiniz, Üretilen sayı :20 gibi bir mesaj verilir.
Programın tüm kodları aşağıdaki gibidir.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace İkiliOyun
{
public partial class Form1 : Form
{
int sayi1, sayi2;
int sayac1, sayac2;
int oyuncuPuan1, oyuncuPuan2;
public Form1()
{
InitializeComponent();
}
private void btnOyuncu2_Click(object sender, EventArgs e)
{
Random rastgele = new Random();
sayi2 = rastgele.Next(100) + 1;
listBox2.Items.Clear();
listBox2.Items.Add("OYUN başladı.");
listBox2.Items.Add("Sayı üretildi, tahmininiz?");
sayac2 = 0;
// listBox1.Items.Add(sayi1.ToString());
}
private void btnOyuncu1_Click(object sender, EventArgs e)
{
Random rastgele = new Random();
sayi1 = rastgele.Next(100) + 1;
listBox1.Items.Clear();
listBox1.Items.Add("OYUN başladı.");
listBox1.Items.Add("Sayı üretildi, tahmininiz?");
sayac1 = 0;
// listBox1.Items.Add(sayi1.ToString());
}
private void btnGiris1_Click(object sender, EventArgs e)
{
if (txtTahmin1.Text != "" && sayi1!=0)
{
int tahmin = int.Parse(txtTahmin1.Text);
if (tahmin == sayi1)
{
listBox1.Items.Add("TEBRİKLER, KAZANDINIZ");
oyuncuPuan1 += 10;
puan1.Items.Add(oyuncuPuan1);
}
else if (tahmin < sayi1)
{
listBox1.Items.Add("Daha büyük sayı giriniz");
sayac1++;
if (sayac1 == 6)
{
MessageBox.Show("Üzgünüm, kaybettiniz, Üretilen sayı:" + sayi1.ToString());
oyuncuPuan1 -= 5;
puan1.Items.Add(oyuncuPuan1);
}
}
else if (tahmin > sayi1)
{
listBox1.Items.Add("Daha küçük sayı giriniz");
sayac1++;
if (sayac1 == 6)
{
MessageBox.Show("Üzgünüm, kaybettiniz, Üretilen sayı:" + sayi1.ToString());
oyuncuPuan1 -= 5;
puan1.Items.Add(oyuncuPuan1);
}
}
} //if tahmin1 boş mu
}
private void button1_Click(object sender, EventArgs e)
{
oyuncuPuan1 = 0;
oyuncuPuan2 = 0;
listBox1.Items.Clear();
listBox2.Items.Clear();
puan1.Items.Clear();
puan2.Items.Clear();
}
private void Form1_Load(object sender, EventArgs e)
{
btnYeniBaslat.PerformClick();
}
private void btnGiris2_Click(object sender, EventArgs e)
{
if (txtTahmin2.Text != "" && sayi2 != 0)
{
int tahmin = int.Parse(txtTahmin2.Text);
if (tahmin == sayi2)
{
listBox2.Items.Add("TEBRİKLER, KAZANDINIZ");
oyuncuPuan2 += 10;
puan2.Items.Add(oyuncuPuan2);
}
else if (tahmin < sayi2)
{
listBox2.Items.Add("Daha büyük sayı giriniz");
sayac2++;
if (sayac2 == 6)
{
MessageBox.Show("Üzgünüm, kaybettiniz, Üretilen sayı:" + sayi2.ToString());
oyuncuPuan2 -= 5;
puan2.Items.Add(oyuncuPuan2);
}
}
else if (tahmin > sayi2)
{
listBox2.Items.Add("Daha küçük sayı giriniz");
sayac2++;
if (sayac2 == 6)
{
MessageBox.Show("Üzgünüm, kaybettiniz, Üretilen sayı:" + sayi2.ToString());
oyuncuPuan2 -= 5;
puan2.Items.Add(oyuncuPuan2);
}
}
} //if tahmin2 boş mu
}
private void btnOyunuBitir_Click(object sender, EventArgs e)
{
int toplamPuan1 = 0, toplamPuan2=0;
toplamPuan1 = (int)puan1.Items[puan1.Items.Count-1];
MessageBox.Show("1. Oyuncu Puanları toplamı:" + toplamPuan1.ToString());
toplamPuan2 = (int)puan2.Items[puan2.Items.Count - 1];
MessageBox.Show("2. Oyuncu Puanları toplamı:" + toplamPuan2.ToString());
if (toplamPuan1 > toplamPuan2)
MessageBox.Show("1. Oyuncu kazandı");
else if(toplamPuan1 < toplamPuan2)
MessageBox.Show("2. Oyuncu kazandı");
else
MessageBox.Show("Berabere...");
}
}
}
Mutlu kodlamalar,
22 Şubat 2022
Oğuzhan TAŞ
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?